As demand increases for varying types of applications within mobile telecommunications networks, service providers constantly upgrade their systems in order to reliably provide an expanded functionality. What was once a system designed simply for voice communication has grown into an all-purpose network access point, providing access to a myriad of applications including text messaging, multimedia streaming, and general Internet access. In order to support such applications, providers have built new networks on top of their existing voice networks. As seen in second and third generation networks, voice services must be carried over dedicated voice channels and directed toward a circuit-switched core, while other service communications are transmitted according to the Internet protocol (IP) and directed toward a different, packet-switched core. This led to unique problems regarding application provision, metering and charging, and quality of experience (QoE) assurance.
In an effort to simplify the dual core approach of the second and third generations, the 3rd Generation Partnership Project (3GPP) has recommended a new network scheme it terms “long term evolution” (LTE). In an LTE network, all communications are carried over an IP channel from user equipment (UE) to an all-IP core called the evolved packet core (EPC). The EPC then provides gateway access to other networks while ensuring an acceptable QoE and charging a subscriber for their particular network activity.
The 3GPP generally describes the components of the EPC and their interactions with each other in a number of technical specifications. Specifically, 3GPP TS 29.212, 3GPP TS 29.213, and 3GPP TS 29.214 describe the policy and charging rules function (PCRF), policy and charging enforcement function (PCEF), and bearer binding and event reporting function (BBERF) of the EPC. These specifications further provide some guidance as to how these elements interact in order to provide reliable data services and charge subscribers for use thereof.
For example, 3GPP TS 29.212 and 3GPP TS 29.214 provide some guidance on the establishment of an application session by the EPC upon receipt of an application request from an application function (AF) in the form of an aa-request (AAR) message or from a packet data network gateway (PGW) in the form of a credit control request (CCR) message. The standards specify that the PCRF is responsible for receiving requests, establishing IP-CAN and gateway control sessions, creating new policy and charging control (PCC) rules commensurate with such requests, and providing these new PCC rules to the PCEF for installation. The 3GPP standards also define the format of various messages and PCC rules.
The main objective of the PCRF is to provide QoS information about an IP-CAN (default bearer QoS) or explicit application session (dedicated bearer). Standards and sound engineering practices dictates a default mapping which is outlined in the 3GPP architecture but it is often overridden by business requirements or regulatory constraints.
One method of doing this is to map an application request in the traffic policy to be pushed to the PCEF (PGW or GGSN). The logic behind this mapping is implemented in a rules engine, which can be modified by the introduction of a new rule (that is, if condition, then action). A rules engine can implement an event-driven forward-chaining rule evaluation algorithm using production style rules with flexible interconnects to external decision points.
In one such version of a rules engine, rules are in a simple “Condition and Action” format where conditions can be described using PCRF parameters and the attributes that are communicated with:                SPR (via Sp)        PCEF (via Gx)        AF (via Rx)        internal triggers        internal session state        
Due to changes in the network and business requirements and opportunities it is necessary to change the rules that the rule engine is applying, however, such a change should result in minimal service disruption.
In view of the foregoing, it would be desirable to provide a flexible method of changing the specific set of rules applied by a rules engine. In particular, it would be desirable to provide a method by which a rule set for a rule engine may be updated with minimal service interruptions.